﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace CoopSaude.Dao
{
    public class ProcedimentoDAO
    {
        private static ProcedimentoMedico.ServiceProcedimentoMedico ws;

        #region singleton
        public static ProcedimentoMedico.ServiceProcedimentoMedico WebService
        {
            get
            {
                if (ws == null)
                {
                    try
                    {
                        ws = new ProcedimentoMedico.ServiceProcedimentoMedico();
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
                return ws;
            }
        }
        #endregion

        public static void ResetWS()
        {
            ws = null;
        }

        public static ProcedimentoMedico.SerializedProcedimento[] ListarProcedimentos(string idPaciente, string idMedico)
        {
            try
            {
                return WebService.VisualizarProcedimentoMedicos(idMedico, idPaciente);
            }
            catch (Exception e)
            {
                ResetWS();
                throw e;
            }
        }

        public static ProcedimentoMedico.SerializedProcedimento AdicionarProcedimento(string idPaciente, string idMedico, string descricao, ProcedimentoMedico.SerializedItemProcedimento[] lsItens)
        {
            ProcedimentoMedico.SerializedProcedimento p;
            try
            {
                p = WebService.CadastrarProcedimentoMedico(idMedico,idPaciente, descricao, lsItens);
                return p;
            }
            catch (Exception e)
            {
                ResetWS();
                throw e;
            }
        }

        public static ProcedimentoMedico.SerializedProcedimento VisualizarProcedimento(int idProcedimento)
        {
            try
            {
                return WebService.VisualizarProcedimentoMedico(idProcedimento);
            }
            catch (Exception e)
            {
                ResetWS();
                throw e;
            }
        }
    }
}